home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 034a / xrs45dox.zip / NEWIN450.DOC < prev    next >
Text File  |  1991-05-31  |  33KB  |  519 lines

  1. Changes from XRS v 4.10 -=> v 4.50 Release
  2.  
  3.  
  4. [This version contains 107 changes/updates/fixes condensed below:]
  5.  
  6.  
  7. 1) Support for .QWK format mailbags is integrated into the program by
  8.  calling portions of Rudi Kusters' "XCS" (eXpress Conversion System).
  9.  Picking a .QWK format mail bundle will cause XRS to first unpack it,
  10.  then call QWK2XRS to convert the bundle to an XRS mailbag.  Upon exit,
  11.  XRS will call the "Bundler xxxx" program, or "XRS2REP.EXE" if none is
  12.  specified.  (These two programs are part of Rudi's XCS version 1.00 or
  13.  later.  XCS also includes programs to transport to and from VAX/VMS
  14.  Mail, FidoNet *.PKT mail packets, archived messages, etc.)  XRS does
  15.  not assume .QWK format mail bundles are the same 'flavor' packer you
  16.  have for your .?XR format (XRS mailbags), or assumes "Zip" if you have
  17.  QWK mail only.  Instead, it 'smells' them to determine unpacker.  For
  18.  .QWK format mail, XRS limits the subject field to 25 characters, and
  19.  adjusts the on-screen box.  Note that this window scrolls if you put
  20.  more characters in than fit in the window - the length of the prompt
  21.  is dependant upon which native language you use (so in some cases it
  22.  may not scroll at all).  XRS recognizes "PCRelay:" as an origin line.
  23.  (the current version of XCS at XRS 4.50 release time was "XCS100.ZIP")
  24.  
  25. 2) The file input and output filters have been changed.  Basically, I've
  26.  decided to leave it up to the SysOps and users to decide what is proper
  27.  in mail depending upon their network, etc.  Because it is possible to
  28.  compromise FidoNet security and/or deliberately send naught things (the
  29.  ANSI sequences starting with <ESC> could reprogram your keyboard for
  30.  you), there are still a very few limitations (filters) as follows:
  31.    On the input side, <TAB> characters are expanded to spaces (dependant
  32.  upon the setting of the "Tab x" setting - default is 8), <NULL>, <ESC>
  33.  and <EOF> characters are stripped, and <CR><LF> pairs are translated to
  34.  <CR> only so they display correctly on-screen. (this filter is the one
  35.  used when you "Import" a file either with <ALT_F4> when in the internal
  36.  editor, and in response to the "Insert from another file?" prompt.
  37.    On the output side (writing messages from the internal or external
  38.  editors), <CR> characters are translated back to <CR><LF> pairs so the
  39.  file will print correctly if you wish, <NULL>, <ESC> & <EOF> characters
  40.  are stripped.
  41.    Note that the internal "CopyMailToPkt()" function (for FidoNet export
  42.  to *.PKT file format) converts <CR><LF> pairs back to <CR>, but does
  43.  not strip <LF> unless it is preceeded by <CR>, and also strips <NULL>,
  44.  <ESC>, <EOF> and <DEL> (0xff).  If you use an external mail converting
  45.  packer (such as Rudi Kusters' XRS2REP.EXE .QWK format packer program),
  46.  different rules may apply according to the currently prevailing rules
  47.  and regulations of the other nets.
  48.    Actually, it is physically impossible to enter an <ESC> or <NULL> in
  49.  any message using my internal editor, since <NULL> signals the end of
  50.  the editor buffer, and an <ESC> character would not place in escape in
  51.  the message, but rather pop up the "Save Message?" selection window.
  52.    Before anyone takes off on a snit about eliminating <ESC> (because it
  53.  is "required" for ANSI color sequences), two things: as I noted, those
  54.  same sequences could be used by a malicious person to reprogam your own
  55.  keyboard very easily, so <Enter> produced "Echo Y | Del *.*" or even
  56.  worse, "Echo Y | Format c:" or something like that.  Also, there are
  57.  several different methods including the one already implemented by Mark
  58.  Herring in QMail², for example (which do not require using an <ESC> and
  59.  cannot be used to wreak havoc on other users).  If there are enough
  60.  people that want it, I will consider putting an "ANSI_Art" routine into
  61.  future versions of XRS, although they are truly a waste of bandwidth!
  62.    In doing this, I also found the bug that caused formerly "illegal" (in
  63.  FidoNet) characters to import as the beta 'ß' symbol and also a bug that
  64.  made portions of lines after "illegal" symbols to disappear when you had
  65.  them in quotes, and fixed both.
  66.  
  67. 3) Complete and full-functional "threading" is available.  If you put the
  68.  new "Threading" parameter in your CONFIG.XRS file, the plus and minus keys
  69.  become thread following if (and only if) a thread exists and it is in the
  70.  mailbag, instead of duplicating "Next" and "Back" respectively.  If there
  71.  is a previous or next message in a thread and the message is in the open
  72.  mailbag, the "<" or ">" next to "Thread" in the header will be replaced by
  73.  a flashing "<<" or ">>" and if you have threading turned on the plus and/or
  74.  minus keys are redefined to read the previous and/or next message in the
  75.  thread as applicable (if there is only a back-thread, "+" still reads the
  76.  next message, and vice-versa).  The change is indicated by "bottom-line"
  77.  help screens as the menu-bar is scrolled.  The blinking double chevron
  78.  pointing in either direction indicates whether the threaded message is in
  79.  the mailbag or not - whether the plus and minus keys have their threading
  80.  function turned on is completely independent.  Threading works by creating
  81.  a doubly-linked list from the single "ReferTo" previous message thread
  82.  pointer in each MAIL?IDX.XRS record which is 'cleansed' of messages not in
  83.  the mailbag, cross-links or circular links are removed and then everything
  84.  left is reverse linked to provide forward pointers.  If this information
  85.  is inaccurate or missing, threading will provide poor results at best - if
  86.  any.  Note that some previous versions of XRS had zeroed out the "ReferTo"
  87.  field when saving progress because no valid pointers were found - these
  88.  old mailbags will not thread properly (XRS now saves only valid pointers,
  89.  discarding any to messages outside the range of messages in the mailbag).
  90.  Another thing you should note: Threading _completely_ ignores any of the
  91.  "filters", like "New Only" or "To You" and displays the threaded message.
  92.  Since the "previous" thread link is saved as part of MAILxIDX.XRS, each
  93.  mailbag only has to be 'cleansed' and doubly linked once (this is why the
  94.  total link count = used link count each time thereafter).  <F4> hot-keyed
  95.  configuration changing threading on-the-fly is instantaneous - if you see
  96.  an inactive (non-blinking) thread, and want to follow it, simply turn on
  97.  threading from the <F4> menu and the thread link will become active (and
  98.  you can turn it off similarly, as well - when you toggle that option, any
  99.  onscreen chevrons will either begin to blink indicating they are "hot" or
  100.  quit blinking, indicating they are available but inactive.  Of course, it
  101.  is easiest just to leave threading on all the time and use the <Enter> or
  102.  "<N>ext" and "<B>ack" for normal reading and "+"/"-" for threaded reads.
  103.  Messages which are read following threads and 'backed out of' are marked
  104.  read and not redisplayed later in the mailbag.  (once menubar is built,
  105.  the "help" descriptions will not change if you toggle threading.)  To
  106.  facilitate 'true theading', the plus and minus keys can be locked out
  107.  when there is no thread to follow, allowing easier thread following.
  108.  Put "Thread Only" in CONFIG.XRS to activate this function.  Thread only
  109.  implies "Threading".  The <F4> configuration "Threading" option is a
  110.  'tri-state' button, alternating between "Threading Off", "Threading On"
  111.  and "Thread Only".  For each line in the "<J>ump" list that has active
  112.  back or next thread pointers, chevrons to the left and/or right are shown
  113.  in front of "Re:".  If you use "Page Mode" viewing, and the "N = Next..."
  114.  is displayed in between pages, "+" and "-" skip to the previous and next
  115.  message without regard to the "threading" mode being used.  "<H>ome" is
  116.  added to the menubar if a previous thread is active, so you can return to
  117.  the 'top' of a thread instantly and proceed to read the next topic.
  118.  
  119. 4) Mailbags may have an unlimited number of messages, however you *must*
  120.  have LIM/EMS memory if you want to preload the summary and have mailbags
  121.  with more than 2000 messages!  The number of messages in an area is not
  122.  limited.  (Preloading the summary file for 5000 messages requires 13
  123.  32k blocks of LIM/EMS, for example.)  Using indirection this version
  124.  defines, allocates and loads the tables at run-time, taking less memory
  125.  than previous versions to load (by more than 20k), but expanding the heap
  126.  as is needed to accomodate larger mailbags.  Actually, mailbag size is
  127.  limited only by disk space and available RAM.  You must have enough free
  128.  "low" RAM to load the MAIL?IDX.XRS file plus 16% (see above - XRS now
  129.  build doubly-linked threaded topic lists) - 14 bytes per message in the
  130.  mailbag.  The max is probably somewhere around 30,000 realistically...
  131.  NOTE!! Having more than 1200 messages requires you to either A) turn off
  132.  "Preload Summary", B) use an overlayed version of the program, C) have
  133.  the required amount of LIM/EMS to preload the summary index or D) have a
  134.  386 or 486 machine with memory manager leaving 600k or more free RAM when
  135.  starting XRS.  XRS has no limit on the number of messages in an area,
  136.  however more than 1000 messages per area will create an extremely large
  137.  "<J>ump" list which requires a correspondingly larger amount of free RAM.
  138.  MS/DOS 5.0 with DOS=HIGH or DR/DOS 5 will help considerably!  Using the
  139.  "VidRam" program that comes with QEMM also adds 64k "low RAM" that DOS
  140.  can see.  (but see below - it is possible to "virtualize" jump lists to
  141.  force them to use a fixed amount of memory, "paging" elements in and out
  142.  of the list as you scroll thru it)  With more than 1600 messages, unless
  143.  you turn "Preload Summary" off, you probably need some combination of or
  144.  "all the above".  XRS uses a "Heap Expander" routine to store portions of
  145.  dynamically allocated RAM in LIM/EMS memory if there is any available,
  146.  otherwise the memory from the DOS far heap (lower 640k) is used.  "Preload
  147.  Summary" uses from one to 32 blocks - 64k max each, eliminating all of the
  148.  summary from a mailbag from the far heap (storing it in blocks of LIM/EMS
  149.  instead).  Even if you don't have LIM/EMS memory this version is much more
  150.  efficient with the dynamically allocated RAM due to optimization of the
  151.  heap routines with a 'best fit' algorithm (20 to 30% less memory is
  152.  required to store the summary).  A nice side-effect of this is that if the
  153.  "Preload Summary" is stored in LIM/EMS - that formerly 32K to 160K of RAM
  154.  is not swapped out using the <F10> shell to DOS hotkey.  Also, another
  155.  side-effect: preloading summary takes about half as much time.
  156.  "SET HX=/NOEMM" disables the "Heap Extender" routines from even trying to
  157.  use LIM/EMS memory.  "No EMS" in the CONFIG.XRS file forces "SET HX=/NOEMM"
  158.  also. (you don't have to do both to totally disable LIM/EMS access, but you
  159.  can only disable HX if you want, but using "SET").  After "Preload Summary",
  160.  if any LIM/EMS memory was used, the amount is shown along with "low RAM"
  161.  in the memory allocation usage message.
  162.  
  163. 5) XRS supports up to 1024 conference areas selected from 65535.
  164.  
  165. 6) XRS virtualizes the "<J>ump" list if more than 500 messages would be
  166.  in the list.  Any number of messages can be displayed since I virtually
  167.  page list elements in and out (in 50-message units) as you scroll around
  168.  the list.  Note that this makes the initial "huge" lists pop-up much
  169.  quicker, and the paging does not noticably slow the list scrolling, so
  170.  the net effect is that everything is faster handling the larger lists
  171.  instead of slower.  In order to be most flexible, you can specify the
  172.  threshold for virtualization of the list (which defaults to 500) to any
  173.  number in the range 100 up to 3000.  XRS builds any "<J>ump" list with
  174.  fewer entries normally, but builds a virtual list for larger lists.  If
  175.  you run under DesqView, setting this to a low number will allow you to
  176.  read 5000+ message mailbags in as little as 300k.  If you have plenty of
  177.  free RAM, increasing it may provide better performance on large lists.
  178.  Each time scrolling the virtual list causes paging, XRS will swap out
  179.  up to 20% of the list (under normal circumstances that would be 100
  180.  messages) so having a very small number will give good response and use
  181.  little memory but require more frequent disk accesses, while using a
  182.  large number will eat more free RAM, but provide generally smoother
  183.  operation and less frequent disk accesses.  To set the threshold for
  184.  "<J>ump" list virtualization, use "Virtualize xxxx" in your CONFIG.XRS
  185.  where 'xxxx' can be anything within the range 100 to 3000 - anything
  186.  outside that range will be adjusted.  Of course, if you have "Preload
  187.  Summary" on, disk accesses are not required in either case (since the
  188.  entire list is either in LIM/EMS or "low" memory).  <CTRL_PAGEUP> and
  189.  <CTRL_PAGEDOWN> take you to the current (not virtual) list top element
  190.  and bottom element respectively (you still have to use PAGEUP/PAGEDOWN
  191.  or UP/DOWN arrows to get into any other virtual segment of the list).
  192.  Also, "VirtualJump xxx" allows you to adjust the default number of list
  193.  elements which are deleted from one end of the list and an equivalent
  194.  number appended to the other end of the list.  The default is 50 or
  195.  the number of lines per page, whichever is less.  Adjusting these two
  196.  parameters allows you a full range of virtual list control - under DV
  197.  you could limit "Virtualize 100", "Virtualimit 38" (assuming 25-lines)
  198.  and make it run in minimal (less than 12k) dynamic RAM as opposed to
  199.  the former unlimited amount proportional to the entire list size.  You
  200.  can also minimize virtual "waits" by increasing the "Virtualize xxxx"
  201.  as high as you can if you normally read mailbags larger than 1000 or
  202.  more messages, and adjusting "VirtualJump xxx" can either quicken the
  203.  response (larger size) minimizing waits, but longer waits each time,
  204.  or slow it down somewhat by requiring smaller, more frequent paging.
  205.  The default settings I use are best for 'normal' users, the optimal
  206.  settings for your computer depend upon many things - processor power
  207.  and hard disk access time, mostly.  You may have to adjust these to
  208.  find your "prefered" settings.  Note that the up and down arrows on
  209.  the scroll bars blink if they are 'virtual' links and not physically
  210.  in the current list, but function the same in all cases.  Also note
  211.  that using "PAGEUP or PAGEDOWN" you can jump into a virtual segment
  212.  even though the arrow is not blinking (since jumping a page would put
  213.  you outside the current physical list).  Now that you're all lost, I
  214.  suggest you just try it, it all comes naturally, just like before,
  215.  except you will see "Please Wait" during virtual paging of the list.
  216.  Successive <PAGEUP>, <PAGEDOWN>, or up/down arrows with the mouse will
  217.  continuously page in new elements of the virtual list until you reach
  218.  either end.  I think the number of message when the "To You" filter is
  219.  on (which would require more code to implement) is normally going to
  220.  be low even if you have a very large mailbag, so if the "ToYou" filter
  221.  is on, no virtualization is done (to keep the code-overhead down).  If
  222.  you build a huge mailbag with mostly/only messages "to you", XRS will
  223.  take 10k RAM per 100 messages to display lists of "To You" elements
  224.  (although simply turning off the "To You" filter from the <F4> config
  225.  menu forces XRS to virtualize the list anyway!).  Since virtualizing
  226.  the list requires more frequent access to the SUMMARYx.XRS file (or the
  227.  data preloaded in LIM/EMS or "low" RAM), and very large lists are now
  228.  possible, by default I automatically bisect the list 16 ways and record
  229.  either the offset into SUMMARYx.XRS or the HeapXtender handle and HX
  230.  offsets.  This allows very fast paging of new items into the list.  If
  231.  XRS detects more than 1000 messages, it will increase the number of
  232.  list pointers by 16 every 1000 messages, up to 128 total, so that no new
  233.  insertion point is ever more than 63 messages from the closest pointer
  234.  (unless you have a mailbag with more than 8000 messages!).
  235.  
  236. 7) I no longer use a "COUNTRY=xx"-dependent routine to get a spelled-out
  237.  month for the date string in messages, since depending upon which code
  238.  page you use, and which country code you used, you could get either your
  239.  own (i.e. native language spelled months) or garbage before.  You should
  240.  always get consistent dates in message headers  (and they should always
  241.  be the English "short" three-letter spelling of the month), but all of
  242.  the on-screen clocks should still use the 'local' format.
  243.  
  244. 8) If XRS finds the "$$ACTIVE.XRS" semaphore file at startup (which is
  245.  normally an indication that the program is already running), it will let
  246.  you bypass that check and start anyway by answering "Y" to the "Continue
  247.  Anyway? (y/N)" prompt - the default is "N".
  248.  
  249. 9) If you hit <ESC> when the message reading menubar is displayed, you
  250.  go back to the main menu instead of proceeding to the next message.
  251.  This eliminates the need for the "<E>xit" option, which gives a little
  252.  more room on the menubar for foreign language versions.
  253.  
  254. 10) If the "Read Only New" filter is turned off when you exit, XRS will
  255.  assume you have read all messages and offer to compress and/or delete
  256.  the current mailbag (or leave it alone).  If you compress it, you may
  257.  optionally select a different name for the output file.  You may pick
  258.  the default action for the above using a new CONFIG.XRS parameter
  259.  "EmptyBag x" where 'x' = the hot-key for any of the four menu selections
  260.  (in English they are "<C>ompress Mailbag", "<D>elete Mailbag", "<R>epack
  261.  AND Delete" and "<L>eave it Alone" - so C, D, R & L are valid).  If you
  262.  don't preselect one, the default is "Leave it Alone".  If you use a
  263.  non-English binary FNLS file ("Foreign Native Language Support - it is
  264.  named XRS$ALL.DTA just like the English version shipped with XRS), those
  265.  options will be different, depending upon which four "hot-key" options
  266.  are on your native language's menu.  By default, mailbags which are
  267.  recompressed go to the "InDir xxxxxx" subdirectory (where they started)
  268.  or if none exists, into the current subdirectory.  If you want to use a
  269.  different "holding area" for read mailbags, use "SaveBagPath xxxxxx" where
  270.  'xxxxx' is a subdirectory.  XRS automatically fiddles with the output
  271.  filename if the one it comes up with using "BAG_ID.XRS" and the packer
  272.  already exists, so you do not end up with more than one mailbag inside one
  273.  archive or accidentally overwrite an old one.  The "Packer xxxx" is used,
  274.  and if none is specified, PKZip is used.  Note that mailbags which were
  275.  originally QWK format are stored in .ZXR format.  The routine I used will
  276.  allow you to store over 100 mailbags for each BBS before you have to move
  277.  and/or delete some - be careful!  (this could easily eat up all of your
  278.  available disk space in a hurry...)  If you "Compress" or "Repack/Delete"
  279.  a mailbag that has not been fully read, even if you have a "SaveBagPath
  280.  xxxx" defined in your CONFIG.XRS parameter file, it will go back into the
  281.  "Indir xxxx" path instead.  This way you can still put them away partially
  282.  unread, open a new mailbag and read, then go back to them, while XRS will
  283.  still store completely read mailbags elsewhere (without you having to move
  284.  the file(s) around if you use "SaveBagPath xxxx").  You can force this
  285.  option to be displayed by using "Always".  If there are remaining unread
  286.  messages, a warning banner and a different "Bottom Line Help" is displayed.
  287.  Also, if you have unread messages on exit and the "Compress/Repack&Delete/
  288.  Delete/Leave" menu is displayed, the default is always "Leave" mailbag.
  289.  If the user sets "Emptybag x" to an invalid value, an error message is
  290.  displayed.  XRS will now notice that and chose the "Leave" option as the
  291.  default.  Note that as always, XRS will automatically adjust to a foreign-
  292.  language binary overlay and use the letters which correspond to that native
  293.  language's menu hot-key selections.  If you use a non-English overlay, your
  294.  parameters must specify valid keys for your native language instead!
  295.  
  296. 11) The <F2> screen is now the "Status" screen.  It now contains several
  297.  new bits of information, including NDP (math coprocessor), etc.  Since
  298.  noone knew what "RelativeSpeed" meant (it was based on PC/XT = 10 units),
  299.  I changed it to "RelativePower xx.x" where 'xx.x' is the power relative to
  300.  a 4.77MHz 8088 processor.  The status window no longer displays a random
  301.  string in front of "286?" if it cannot identify your processor.  (every CPU
  302.  that was "out of range" of the normal detection routines has been a 286.)
  303.  XRS 'knows' when QEMM/386 memory manager is in use and displays QEMM
  304.  instead of YES for "VM86" mode in the <F2> status window if it is found.
  305.  
  306. 12) XRS names all the LIM/EMS handles it uses so you can tell how each
  307.  piece is being used (includes overlay cache, HeapXtender and swapping).
  308.  You can see LIM/EMS handles with "Mem/d" (DOS 4.0+) or MFT, etc.  Names
  309.  are "XRSCACHE" for overlayed versions if you have 96k LIM/EMS memory at
  310.  run-time, "XRS$HXxx" where 'xx' = '00'..'31' for LIM/EMS handles used by
  311.  the HX routines, and "XRS$SWAP" for the swapfile for shell to DOS, etc.
  312.  
  313. 13) XRS saves and restores the video mode no matter what it is when you
  314.  start, even if you tell it not to adjust the video mode.  It also resets
  315.  that mode upon return from external program calls, since it is possible
  316.  that they have changed the lines-per-screen size.  The only potential
  317.  screwup is that if you drop to DOS and do something that changes your
  318.  *hardware* font, without changing the video mode, then XRS has no way of
  319.  knowing you have changed lines-per-screen (therefore, if you do that,
  320.  the only way you can 'fix' it is to return to DOS and reload the correct
  321.  hardware font).  This should eliminate certain combinations of external
  322.  programs which are not "screen-smart" from messing up the display (it
  323.  usually shows up as random "junk" characters (with random attributes)
  324.  in the bottom few lines of the screen.
  325.  
  326. 14) You can have XRS automatically sort the <J>ump lists by subject with
  327.  a new CONFIG.XRS parameter "Sort Subjects".  This takes slightly longer
  328.  than displaying the list unsorted, of course.  Used in conjunction with
  329.  the new threading support, this allows <J>ump lists to be sorted by
  330.  thread or 'topic' as well.  This can also be turned on and off from the
  331.  <F4> hot-keyed configuration window, allowing you to only sort the list
  332.  when needed.  Several hot-keys were changed (in the English overlay,
  333.  anyway) to allow using the first character of each message (as hot-key).
  334.  
  335. 15) XRS does "relative jumps" on the BATxMAIL.XRS file rather than seeks
  336.  from the beginning of the file.  I compute the difference from current
  337.  file pointer to where I want to go and do a relative jump (seek).  This
  338.  speeds displays of headers during <J>ump by a factor of two, and even
  339.  more dramatically speeds things up if you have the new "Sort Subjects"
  340.  parameter in effect.  This also makes threaded reads and reads inside
  341.  areas or "to you" filters much faster, since each time the file pointer
  342.  is moved the average distance moved is smaller (typically much smaller).
  343.  
  344. 16) "Hide Search" is only effective for "AutoTag/Search" modes.  You can
  345.  easily take your pick during manual searches.  "N)onstop" in the <F8>
  346.  search/mark/tag routine is now "H)ide", which does the same thing as
  347.  before, except output isn't shown on the screen.  This allows you to
  348.  hide non-automatic searches if you wish, as well.
  349.  
  350. 17) "Page View" mode colors work exactly as the list view mode, and it is
  351.  79 characters wide with no blank space down the left side, allowing one
  352.  more character to show (which formerly got whacked on rare occasions).
  353.  The scrollbar arrows work differently - mousing them once moves one line
  354.  but holding down the button repeats at a rapid rate, the 'arrows' are
  355.  'pointers' instead, to remind you it works differently.  The action of
  356.  the "Up", "Down", "PgUp" and "PgDown" keys and mouse up/down arrows are
  357.  similar to Vern Buerg's "LIST.COM" program.  You can vary the scrolling
  358.  rate when using the mouse (held down) to anywhere from 1 to 20 lines per
  359.  second (the default is 6/sec. which works well) by using a CONFIG.XRS
  360.  parameter "SkipRate xx" where 'xx' = 1 to 20.  ("No Mark" in CONFIG.XRS
  361.  file is obsolete due to this change!)
  362.  
  363. 18) You can have a file of up to 256 random tag lines which are used if
  364.  there is no conference-specific origin line specified in "XRS.ORG" or
  365.  the "(bagid).ORG" file.  (and assuming there is no XORIGIN.XRS 'lock')
  366.  The format is simply lines of up to 60 bytes in a text file.  If the
  367.  text is too long to fit, it is truncated.  The filename "RANDOM.XRS"
  368.  is searched for on the PATH if it is not found in the current directory.
  369.  ('bagid' above = the mailbag name)
  370.  
  371. 19) XRS no longer deletes "ACCESSx.XRS" when deleting old mailbags, so
  372.  you can still send 'private' messages in appropriate conferences.
  373.  
  374. 20) The <F6> summary window only shows the information preceeding the
  375.  list of messages selected instead of the whole file (up to 65500 bytes).
  376.  This allows the window to pop-up in much less RAM, and much faster if
  377.  you have a large mailbag.  In order to see the entire list of messages,
  378.  use <J>ump during "All Read Chronological".  I also find the 'marker' in
  379.  SUMMARYx.XRS only once at the beginning of the program and thereafter
  380.  seek directly to that location for <J>ump lists when preload summary is
  381.  not being used (which makes jumping without preload quite a bit faster).
  382.  
  383. 21) Overlayed versions now come in two pieces - the "stub" RESP_*.EXE
  384.  plus a matching RESP_*.OVL file.  The resulting two separate files are
  385.  20k smaller than the old combined into one *.EXE file method, since
  386.  the very nature of RTLink+ allows the "stub" to be PKLite'd even though
  387.  it is part of an overlayed program.  This also opens up the possibility
  388.  of putting only the *.OVL file onto a RAM disk, or maybe placing the two
  389.  files on separate floppy disks, etc.  The *.OVL file must be in either
  390.  the same directory you run XRS from or available on your PATH (under DOS
  391.  3.0+ it could be in the same sub-directory as the corresponding *.EXE).
  392.  Because it is be possible to accidentally find the wrong corresponding
  393.  RESP_*.OVL file, the RESP_*.EXE stub does a check to insure that the two
  394.  are synchronized, and refuses to operate if it finds a "bad" overlay.
  395.  It will display the exact name of the *.OVL file in the error message
  396.  (you should delete the older *.OVL file and make sure XRS can find the
  397.  new one, or use a newer *.EXE file depending upon which is older).  The
  398.  overlayed versions require DOS 3.0 or higher for this to function.  One
  399.  minor side-effect is you cannot rename the RESP_OVL or RESP_RTL files.
  400.  
  401. 22) If you take out some "automatch" items from your CONFIG.XRS while you
  402.  have a mailbag open, XRS 'remembers' that each message which was marked
  403.  before is marked, but it no longer can find and color-cascade the items.
  404.  XRS no longer 'skips out' forgetting to update the time in this case.
  405.  
  406. 23) You can no longer pop-up the <F4> hot-keyed configuration window once
  407.  you have entered the "exit procedure" (on the way out of the program).
  408.  
  409. 24) The lookahead during "Optimize View" should be more accurate (it used
  410.  to sometimes miscount how XRS would display a message, resulting in not
  411.  putting a message in scroll mode or possibly cutting off the last line).
  412.  
  413. 25) The "Quotometer" doesn't get confused it you exit from a message with
  414.  the cursor at the end of the text buffer after cutting out quoted text.
  415.  
  416. 26) If an empty "RESPONSE.XRS" files exists at exit, it is deleted.
  417.  
  418. 27) XRS will look for both "XRSCOLOR.BIN", "XRS.ORG" and "XRS.KEY" on the
  419.  PATH if they are not found in the current sub-directory.
  420.  
  421. 28) Spurious bum addresses are not picked up - only "good" looking ones.
  422.  (this is for netmail replies - XRS always tries to find the address in
  423.  the message you are replying to, and occasionally made poor choices)
  424.  
  425. 29) XRS uses up to four initials when quoting a message.  (this also
  426.  means XRS needs to look forward 7 characters instead of 5 to tell if
  427.  each line has already been quoted)
  428.  
  429. 30) Things inside <> near the beginning of a line no longer throw XRS
  430.  off. (making it think it is a previously quoted line when it is not)
  431.  
  432. 31) If "No Alt Keys" is specified, <SHIFT_F5> simulates a <DEL> key.
  433.  This was on <SHIFT_F3> (by mistake) before.  <SHIFT_F3> is the pop up
  434.  window with registration information whether you have "No Alt Keys"
  435.  or not (registered users do not normally see this screen at all).
  436.  
  437. 32) Since .QWK style conferences usually end up with shorter braglines,
  438.  the maximum size was increased to 60 characters (although usually only
  439.  55 or so will fit).
  440.  
  441. 33) I include separate Windows 3.0 <tm> .PIF files, one - RESPONSE.PIF is
  442.  for non-386 mode use, and RESPONSE.386 (which should be renamed *.PIF)
  443.  is for 386 "Enhanced" mode.  Both allow 100k XMS memory to be used, so
  444.  if you are using an overlayed version, you can run with "cached" overlay
  445.  segments while using less "low" memory.  I also include XR.DVP, a sample
  446.  Desqview setup file - note that both of these *MUST* be inspected to see
  447.  if they need adjusting for your environment (including the RESP*.EXE you
  448.  use, if it is not RESPONSE.EXE!).
  449.  
  450. 34) If you hit <ESC> for any of the "To/Subject/Address/Crash/Private"
  451.  prompts you return to the next message if you are viewing messages or
  452.  to the menu if you are creating a new message in "Create/Delete/Edit".
  453.  
  454. 35) The mouse cursor doesn't get disabled "early" in certain situations.
  455.  
  456. 36) XRS no longer depends on the messages numbers being in ascending
  457.  sequence throughout the entire mailbag, so <J>ump works correctly if
  458.  you have a mailbag from a BBS type which allows duplicate numbers in
  459.  different conferences or if the messages are not sorted sequentially.
  460.  
  461. 37) Changing (setting and resetting) the "Private" bit with <F3> on
  462.  echomail areas (which allow them) works correctly.
  463.  
  464. 38) Adjusting colors (via the <ALT_F7> hot-key) is no longer fatal on
  465.  8088 or 8086 CPU chips.  I had some "'286" code hooked in there...
  466.  
  467. 39) XRS uses "LHA.EXE" instead of "LHARC.EXE".  If you use .LZH files and
  468.  don't have a copy of the new LHA (formerly "LHARC"), you should get it!
  469.  The new version gives better compression and better performance.  (the
  470.  current version is LHA210.EXE)
  471.  
  472. 40) The overlay structure was hand-optimized again to further balance the
  473.  size and mimimize intra-overlay calls.  This version still requires only
  474.  96k of LIM/EMS (or XMS 2.0 extended) RAM to run at 100% the speed of the
  475.  non-overlayed version (while using 80k less "low" memory).  The overlay
  476.  caching works with less (or none), but swapping to disk will occur more
  477.  often (increasing as the LIM/EMS or XMS available memory size decreases).
  478.  This only affects RESP_OVL.EXE and RESP_RTL.EXE (the overlayed versions).
  479.  
  480. 41) Matching of conference names is exact for *.ORG files.  (before, if a
  481.  conference name matched the first portion of a tag line, it was used even
  482.  if the whole name in the tag line was longer.
  483.  
  484. 42) Internal changes to XRS require update to XCS version 0.47 since any
  485.  earlier versions don't know how to handle mailbags with > 200 areas or
  486.  more than 995 messages.  Because of this, XRS 4.11 refuses to work with
  487.  a mailbag created by any earlier versions.
  488.  
  489. 43) Handling of "out-of-memory" during display of the "<J>ump" list is
  490.  improved.  Memory is correctly deallocated if you do not have enough RAM
  491.  to display it and things should continue normally.
  492.  
  493. 44) Exporting of "TAGged" messages is repaired.
  494.  
  495. 45) XRS 'knows' about User Requests and automatically forces messages
  496.  addressed to "XRS" into the LOCAL (Group #0) area marked as private.
  497.  For information about User Requests (automatic file downloads and the
  498.  ability to turn message areas on and off).  These are currently only
  499.  supported by XRSDoor 1.44 or later. (RemoteAccess/Quick/SuperBBS door)
  500.  Note that messages addressed to XRS have 'locked' attributes and can
  501.  only be edited or deleted (the header cannot be modified).  See the
  502.  separate file "REQUESTS.DOC" for detailed information on UserRequests!
  503.  
  504. 46) Mailbags with non-standard characters in the last position of the
  505.  file extension are found (i.e. "EBAYXCH1.ZX0" or "EBAYXCH1.QW0", etc).
  506.  
  507. 47) "Force New" forces the "AutoMatch" and/or "AutoTag" parameters to be
  508.  run but does not pop-up the summary/index window.  (mistakenly listed
  509.  as "Force Auto" in the previous version's documentation - my fault!)
  510.  
  511. 48) Exporting a message in "Quoted" format no longer sets the Reply flag.
  512.  
  513. 49) "VerifyInsert()" displays itself on the same line as the other prompts
  514.  during message header entry (i.e. subject, to name, etc).
  515.  
  516. and last, but not least:
  517.  
  518. 50) Message display is faster in this version than 4.10! (more assembler)
  519.